package demo.chef;

import demo.CuisinesStyle;
import demo.dishes.AbstractDishes;

/**
 * @author ZhouWeiBo
 * @create 2022/6/7
 */
public abstract class AbstractChef {

    /**
     * 厨师状态 0未做菜，1做菜
     */
    protected Integer status = 0;

    protected AbstractDishes dishes;

    /**
     * 厨师自身id
     */
    protected Integer chefNumber = null;

    /**
     * 厨师会的菜系
     */
    protected CuisinesStyle cuisinesStyles = null;

    private AbstractChef() {}

    public final Integer getStatus(){
        return this.status;
    }

    public final CuisinesStyle getCuisinesStyles(){
        return this.cuisinesStyles;
    }



    public AbstractChef(Integer chefNumber, CuisinesStyle cuisinesStyles) {
        this.chefNumber = chefNumber;
        this.cuisinesStyles = cuisinesStyles;
    }

    /**
     * 初始开始做菜
     */
    public abstract void cooking(AbstractDishes dishes);

    /**
     * 初始作完菜了
     */
    public abstract void cookingFinish();
}
